import request from "../utils/index.js"

//实现请求接口

/**
 * 获取所有分类类型列表
 * @returns {Promise} 返回分类列表数据的Promise对象
 */
// portal/findAllTypes
//获取分类列表
export const getfindAllTypes = () => {
  return request.get("portal/findAllTypes");
};

/**
 * 分页带条件查询所有头条
 * @param {Object} info - 查询条件对象
 * @returns {Promise} 返回分页头条数据的Promise对象
 */
// 分页带条件查询所有头条
export const getfindNewsPageInfo = (info) => {
  return request.post("portal/findNewsPage",info);
};

/**
 * 查看头条详情
 * @param {number|string} id - 头条ID
 * @returns {Promise} 返回头条详情数据的Promise对象
 */
// 查看头条详情
export const getshowHeadlineDetail = (id) => {
    return request({
        method: "post",
        url: "portal/showHeadlineDetail",
        headers: {
        "Content-Type": "application/x-www-form-urlencoded;charset=utf-8",
        },
         data:`hid=${id}`
  });
};

/**
 * 根据ID删除头条
 * @param {number|string} id - 要删除的头条ID
 * @returns {Promise} 返回操作结果的Promise对象
 */
//删除的回调
// headline/removeByHid
export const removeByHid = (id) => {
    return request({
         method: "post",
            url: "headline/removeByHid",
            headers: {
            "Content-Type": "application/x-www-form-urlencoded;charset=utf-8",
            },
            data:`hid=${id}`
  })
};

/**
 * 用户登录接口
 * @param {Object} info - 登录信息对象，包含用户名和密码
 * @returns {Promise} 返回登录结果的Promise对象
 */
//登录的接口
export const getLogin = (info) => {
  // 确保使用JSON格式发送登录数据
  return request({
    method: "post",
    url: "user/login",
    headers: {
      "Content-Type": "application/json"
    },
    data: info
  });
};

/**
 * 获取用户信息接口
 * @returns {Promise} 返回用户信息数据的Promise对象
 */
//获取用户信息的接口
export const getUserInfo = (info) => {
  return request.get("user/getUserInfo");
};

/**
 * 注册用户名校验接口
 * @param {string} username - 要校验的用户名
 * @returns {Promise} 返回校验结果的Promise对象
 */
//注册校验的接口  user/checkUserName
export const registerValidateApi = (username) => {
    return request({
         method: "post",
            url: "user/checkUserName",
            headers: {
            "Content-Type": "application/x-www-form-urlencoded;charset=utf-8",
            },
            data:`username=${username}`
  })
};

/**
 * 用户注册接口
 * @param {Object} userInfo - 用户注册信息对象
 * @returns {Promise} 返回注册结果的Promise对象
 */
// 注册的接口
export const registerApi = (userInfo) => {
  return request.post("user/regist",userInfo)
}

/**
 * 判断用户是否登录过期接口
 * @returns {Promise} 返回用户登录状态的Promise对象
 */
//判断用户登录过期的接口
export const isUserOverdue = () => {
  return request.get("user/checkLogin")
}

/**
 * 根据ID查找头条用于修改回显
 * @param {number|string} id - 头条ID
 * @returns {Promise} 返回头条数据用于回显的Promise对象
 */
// 修改头条回显的接口
export const getFindHeadlineByHid = (id) => {
    return request({
        method: "post",
        url: "headline/findHeadlineByHid",
        headers: {
        "Content-Type": "application/x-www-form-urlencoded;charset=utf-8",
        },
         data:`hid=${id}`
  });
};

/**
 * 保存或添加新闻头条
 * @param {Object} news - 新闻头条对象
 * @returns {Promise} 返回保存结果的Promise对象
 */
//点击保存修改的回调
// headline/update
export const saveOrAddNews = (news) => {
  return request.post("headline/update",news)
}

/**
 * 发布新闻头条
 * @param {Object} news - 要发布的新闻头条对象
 * @returns {Promise} 返回发布结果的Promise对象
 */
// headline/publish
export const issueNews = (news) => {
  return request.post("headline/publish",news)
}